約 3,415,994 件
https://w.atwiki.jp/dw2_iyaku/pages/85.html
掌打&処刑Mod このパッチはウェスカー又はハンクをプレイキャラとして使用した時の掌打、処刑の技を一部地域以外の敵の皆様にも気持ちよく受けてもらうようにするためのMod(パッチ)です。 Download(syouda syokei.rar、1,381Kb) 【注 意】 一応バックアップファイルは作成されますが、このパッチはemjpフォルダ内の以下のファイルを書き換ますので他のModを使用している方はご注意下さい。 em1a.dat em1b.dat em1c.dat em1clow.dat em1d.dat em1dlow.dat em1e.dat em1f.dat em4c.dat em6c.dat em6d.dat em6f.dat em10.dat em11.dat em12.dat em13.dat em13low.dat em14.dat em15.dat em15low.dat em16.dat em16low.dat em17.dat em19.dat em20.dat em20low.dat em40.dat em41.dat em42.dat em43.dat em45.dat em66.dat em70.dat ema0.dat ema1.dat ema3low.dat ema7.dat ema9.dat emaa.dat emae.dat 【使用方法】 ゲームインストールフォルダ内のemjp.dat(海外版はem.dat)の拡張子をgcaにしてExplzhなどのソフトで解凍しておく。 ダウンロードした圧縮ファイルを解凍すると、掌打&処刑パッチ.exeが出来るので、これを実行する。 メッセージが表示されるので、指示に従いパッチを当てる。(差分を適用するフォルダはemjpフォルダです) ゲームを実行してウェスカーまたはハンクのデータをロードしてヒャッホーする。
https://w.atwiki.jp/daikon187/pages/16.html
このMODで追加されるモノ(予定) 食べ物"大根" 食べ物"秋刀魚" 剣"大根ソード" ソースなど テスト(編集時に消してok) てすとzzzzzzあああここにソースコード。 意見板 名前 大根ソードのエンチャントについて。 - だいこん 2012-08-29 15 04 30 ノックバックあってもいいと思うんんだ。 - だいこん 2012-08-29 15 14 31 てすと。返信するにはこの←のラジオボックスを選択後書き込もう。 - だいこん 2012-08-29 15 03 59 てすと - だいこん 2012-08-29 15 04 10
https://w.atwiki.jp/dominions3/pages/824.html
Modの作成 詳細は公式ドキュメントであるModding.pdf(インストールフォルダ内のdocフォルダにあります)に書いてあるので、ここは基本的な部分(武具とユニット)だけです。 なお、最近のバージョンではパッチを当てた際にドキュメントも更新されるようになったので、最新版を適用済みであれば最新版に沿ったドキュメントになっています。わざわざ公式ページから落とさなくても構いません。 Modファイルの保存場所 ゲームディレクトリのModsの中に拡張子.dm ファイル(中身はテキスト)で保存する 基本的な構造 #を頭にした文が命令 #{命令文} "ステータス等" Modのファイルに必要な情報 #modname Modの名前 #version Modのバージョン Modファイルの最初に必要な情報。最低これだけあれば、何もしないModができる #description Modの解説文 一覧で右クリックしたときに表示される解説文の指定。自分用のModなら無くても構わない #icon 画像ファイル アイコンを作るとModの選択時や、Modが有効な時にタイトル画面に表示される。画像の大きさは 128×32か256×64 のTGA形式かSGI形式。 アイコンがあるとタイトル画面を見ただけでアクティブかどうかがわかるようになるので、たとえ自分用でも適当な画像を指定しておくと無難。 武器を設定する場合 #selectweapon 武器番号 色々と設定する命令を書く #end 防具を設定する場合 #selectarmor 武器番号 色々と設定する命令を書く #end ユニットを設定する場合 #selectmonster ユニット番号 色々と設定する命令を書く #end 一つの武具やユニット毎に selectxxx ~ end で括ること。 ユニットや武具の番号は、使いたいユニットを選択した後、Shift+Iキーで見る事ができる 色々と設定する時の命令は公式ドキュメントを参照。英語だがゲームの単語がわかれば大体は理解できる。 ユニットの特殊技能は既存のものに追加される 例えばaquaticなユニットに新たにamphibianを付けても両方が着いた状態になってしまう。 選択したユニットの特殊技能などをリセットしたい場合は#clear等の命令を使う ユニットや武具を新たに作る #newweapon 新武器番号 色々と設定する命令を書く #end #newarmor 新防具番号 色々と設定する命令を書く #end #newmonster 新ユニット番号 色々と設定する命令を書く #end 利用できる番号は公式ドキュメントを参照。 新しく作る場合は、ステータスが無い状態なので、必要なステータスを全て設定する必要がある。 #copystats 既存ユニットの番号 で既存ユニットのステータスをコピー #copyspr 既存ユニットの番号 で既存ユニットの外見を利用できる 利用できるグラフィック TGA形式かSGI形式、色は24-32ビット。 大きさは縦横が、8、16、32、64、128ドットのどれかであれば良い。 ただし128×128をいっぱいに使うと、ゲーム時の司令官の表示枠からはみ出る。 ユニットの設定時に #spr1 画像ファイル で通常のアイコン #spr2 画像ファイル で戦闘時のパターンを設定できる Modの使い方 Modsディレクトリにdm形式のファイルが正しく入っていると、 ゲームのPreferencesのMod Preferencesで作成したModの名前が表示される。 これを選択してEnableにすれば有効になる。 なお、セーブ済みのゲームをプレイする際は、そのゲームが開始したときにEnableになっていた通りの状態に自動的に切り替えてくれる。プレイ中の追加や削除は許されない(必要なModファイルが見つからないと再開すらできない)。 しかし、Enable状態のModファイルを編集した場合は感知しないので注意。細かい修正ならともかく、あまりに大きな変更をするといろいろな部分がおかしくなる可能性が高い(とくにIDが変わるのはご法度)。 以下、Modの例 中の文をコピーして保存すればModとして利用可能 #modname"No Change" #version 1 何の変化もないMod Modの例(神にMilitiaを追加してみる) #modname "Militia is God" #version 1 #selectmonster 30 #startdom 1 #end このModを有効にした後、ゲームで神を選択する時、Militia(盾なし)が選択肢として表示される。 Modの例(Militiaの姿をKnightにしてみる) #modname "Militia is Knight" #version 1 #selectmonster 30 #copyspr 22 #end このModを有効にすると、Militia(盾なし)がKnightの見た目で表示される。ただし中身はMilitia。 Modの例(合わせると) #modname "Militia is ..." #version 1 #selectmonster 30 #startdom 1 #copyspr 22 #end 結果は想像通り。なおModの命令は上から実行していく。 #selectmonster 30 #copyspr 22 #end #selectmonster 22 #copyspr 30 #end 例えば、この様に書くとMilitiaの絵をKnightに変えた後、Knightの絵を(すでにKnightに変わった)Militiaの絵に変えるのでKnightの方は絵は変わらない。 また同じステータスを操作すると、下の命令が先の命令を上書きすることになる。 MOD制作に役立つもの MODを一から作ろうとした場合、ユニットの画像の用意に苦労したり、不慣れな間は記述法に戸惑うこともしばしばです。 幸い、そうした点をある程度緩和してくれるものがいくつか存在しますので、MOD作製に興味はあれども手が出せずに居る方は、以下に紹介するものを利用してみても良いでしょう。 Dominions 3 Mod Editor 配布元:外部サイト・Desura公式フォーラム その名の通り、MOD制作を支援するツールです。英語ツールですが、GUIを介してMODを編集できるので、不慣れな人には最適のツールと言えます。また通常のテキストエディタと同じように編集することもできます(文法チェック機能付き)。 最新版のMOD環境にも対応済みのため、安心して利用できるでしょう。たまにGUIの挙動が不安定になることもありますが、その際はテキストを直接編集して対応してください。 Organized unit sprites for 3.17 配布元:外部サイト・Shrapnel Games旧公式フォーラム Dominions3のユニット画像を抽出したファイルです。スクリーンショットの切り抜きでは無いそうで、サイズも適正なものになっています。 ファイル形式がtgaのため、Windows標準のツールでは開けませんが、検索すれば編集や閲覧が可能なツールがすぐに見つかるでしょう。 公開されているMODはこれらの画像を切り張りしたりして作られたものが多いようです。既存のユニットと並べても違和感のないものを作りたい場合、これを元に作製すると良いでしょう。 Dom3 DB 配布元:外部サイト・Shrapnel Games旧公式フォーラム Dominions3の総合的なデータベースです。ユニット・武器・防具などのプレイにも関係するデータに加え、使用できる効果音の一覧や、飛び道具(射撃武器用)の画像の一覧なども含みます。 手作業で制作されているため、間違いも少なくないようですが、エクセルなどで開ける形式であるため、その機能を利用して検索やフィルタリングが可能なのが長所です。 多数のシートが存在しますが、末尾のほうには魔法スキルやMagic Site配置地形のビットマスクを一覧化したものもあります。毎回計算して出すのが面倒、もしくは不安なのであれば、これを利用すると良いでしょう。 ちなみに、ダウンロードリンクの先にはイベントリストも置いてあります(dom3_events.zip)。イベントで出現し得るユニットなどを把握したい場合などに役立てられるでしょう。 Spell Guide 配布元:外部サイト・Shrapnel Games旧公式フォーラム バージョン3.24当時の魔法データをまとめたものです。エクセルなどで閲覧できますので、その機能を用いたフィルタなどで必要なデータを抽出できます。 またMODにおいて必要となる、EffectやDamageの組み合わせによる効果を一覧化したTXTファイルも付属しています。公式PDFには全てのEffectは網羅されていないため、魔法をいろいろと作りたい場合はほぼ必須です。 さらにBitmaskerというファイルでは、ビットマスク形式で数値を指定すべき部分(Buff効果の内容やSpec)の数値を簡単に得られ、また数値からその内容を得ることができます。 当時は不明だった点が明記されていなかったり、やや古いデータであったりはするものの、大方の要素は最新版でも通用しますので、重宝するでしょう。 Mapped spell flightsprites and explsprites 配布元:外部サイト・Shrapnel Games旧公式フォーラム 魔法のエフェクトを決定する2種の設定(explsprは武器でも使用します)に、どのような数値を入れるとどのようなエフェクトになるかを一覧化したものです。エクセルで閲覧可能な形式となっています。 魔法に使用できるエフェクトの種類は非常に多様であり、既存の魔法のコピーでは得られないであろうエフェクトも無数に存在します。演出に凝りたい方には必須です。 新ユニット作成時のお約束 ほとんどのことはModding.pdfを読めば十分にわかりますが、いくつか気付きにくく、留意すべき点を挙げます。 ここで挙げるのは主にデフォルトの調整に可能な限り近付けるための知識です。ある程度のお約束はpdfにも書かれていますが、忘れると気付かないままになりやすい点もあるので注意してください。 精鋭や騎兵はgcostを高めに ごく当然のことですが、技能的に優れた兵は金銭コストを高くするべきです。基本的な人間の兵士は10ですが、より戦闘スキルや士気が高い兵は高額に、逆に民兵のような兵は安くなります。 ここで注意すべきなのは、装備が優れているだけで金銭コストを上げてはならないということです。デフォルトのバランスは、技能面(=訓練費)を金銭で、装備を資源で補填する仕様となっています。 たとえ重歩兵であっても、兵士自身が軽歩兵と変わらない技量しか持たないのであれば金銭コストを上げる必要はありません。 それが指揮官であれば、その指揮上限の高さや、所有する魔法スキルも考慮するべきでしょう。また指揮官そのものが兵より高めの調整になっていますし、基本的に指揮官は対応する兵よりも技量に優れるようになっています。 またSacred指定を受けているユニットは維持費が安いため、一般的な基準より高く指定される傾向にあります。他の特殊能力もある程度は考慮すべきです。 他に金銭コストに関わるのは、馬や戦車などの乗り物です。これは後述する資源コストにも絡むことですが、同時に金銭コストも増額します。 このあたりの調整は少々厄介ですが、デフォルトで存在する騎兵や戦車兵のコストと能力を見て、適当と思われる値を設定すると良いでしょう。 なお、CBMでは兵のコストがいくらか削減されました。これはProductivity天秤で資源を増やしても、金が足りないがために結局は数を出すことができないという問題への対策です。 もしこちらのバランスに合わせたいのであれば、下級兵は基本よりも少し安くし、上級兵も値上がりの幅を抑えると良いでしょう。細かい数値はとても書けないので、しっかりと合わせるつもりならCBMの中身を見てみてください。 騎兵にはressizeを 騎兵は(人間であれば)サイズ3が標準ですが、実はサイズ設定に応じて資源コストの計算式も自動的に変動する仕様になっています(巨人などは同じ装備品でも多くの資源を喰うように)。 しかし人間の騎兵の資源コストはあくまでも人間大で計算されるべきなので、そのことをゲームに教えてやらねばなりません。この時に使うのがressize命令で、この場合は2を指定しておけばOKです。 この設定は騎兵以外にも、翼の分でサイズが大きく指定されているCaelumの有翼人などでも必要となります。忘れていると無駄に資源を喰うユニットになってしまうので、十分に注意してください。 重騎兵は個別にrcostを 騎兵は上記したようにressizeを用い、人間の分の資源だけを計算するように指定しますが、多くの重騎兵はさらに馬自身も(見た目上は)装甲されており、この分の資源は自分で指定するようになっています。 何の追加もなければrcostは1だけですが、重騎兵はデフォルトのバランスでは8~15程度を追加します。とくに重装な騎士では20の追加がされています。 なお、デフォルトの設定では馬の装甲は防御力に反映しない方針のようです。一方で、その重量ゆえかこれが為されている騎兵はマップ移動力が低い傾向にあります。 当然、戦車も作製に資源が必要なはずなので、適当な量を追加するべきです。性能は別としても、豪華なものだとより高くなります。 ただし、戦車は多少ながら防御力に貢献するものと見なされているらしく、防具とは別に素の防御力が高めに設定されています(人間の戦車だと5)。こちらも忘れずに設定しておきましょう。 ちなみに、CBMではこれらの資源消費が大幅に抑えられ、騎兵が使いやすくなっています。こちらのバランスに合わせるのであれば、やはりCBMの中を見て基準を理解しておいた方が良いでしょう。 ap、encの指定は兵科によって分ける apはそのユニットの行動ポイントを指定し、encは戦闘行動による疲労の度合いを指定するものですが、この数値は装備の重量に応じて自動的に調整される仕様になっています。 このため、歩兵や弓兵は細かいことを考える必要はなく、その種族の平均的な値を指定しておけばOKです。 一方、騎兵(mountedフラグ付き)は装備重量の影響を受けなくなっているため、自分で指定しなくてはなりません。当然重騎兵であれば行動ポイントは少し控えめにするべきでしょう。 ただし、encについては装備のことを考慮する必要はありません。その種族の基準値(通常は3)に1を加算するだけで十分です。 mapmoveは常に自分で指定 自動調整される行動ポイントと違い、マップ移動力を指定するmapmoveは兵科を問わず装備による影響を受けません。こちらは常に自分で指定するべきです。 一般的な生物は2、騎兵や戦車などの敏捷な兵や、アンデッドや魔法生物などの疲れ知らずの兵は3が基準です。逆に極端に鈍重・重装備な場合は-1するべきでしょう。騎兵の場合、馬の装甲度合が移動力に反映される傾向にあります。 なお、飛行能力はこれを自動的に+1する機能があります(ただし3より大きくはなりません)。mapmoveはその兵が飛行なしでどれぐらい行軍できるかを考えて設定しておきましょう。 固有の名前を付けたい場合もnametypeで 残念ながら、現在のバージョンでは英雄などに対して特定の名前を持たせる命令がありません。その代わり、nametypeの空き枠を1つ専用にしてやることで、少々強引ながら特定の名前を付けることができます。 この方式の欠点は、言うまでもなくnametype枠の消費が激しすぎることです。他に多くの国MODを入れている人にとっては、競合の恐れが強いためにやや使い辛くなるでしょう。 とはいえ、せっかくのユニーク指揮官なら固有の名前はつけておきたいものです。全員が無理なら主要なものだけに妥協するなどしてやりくりしましょう。 魔力の高い指揮官は必要に応じて年齢設定を 指揮官の初期年齢は、その指揮能力や魔法スキルから自動的に計算が行われる仕様ですが、英雄など標準的な実力を超える指揮官を作製した場合、意図しないほどに高齢になってしまう可能性があります。 一般的な指揮官であればそのままにしておくのがバランス的にも世界観的にも好都合でしょう(魔法の習得に年月がかかるものという扱いと思われます)が、独特の設定背景の元に作られた指揮官なら年齢を再設定しておくのが妥当です。 年齢の指定方法は2つあり、startageを使用すると直接指定、olderを使用すると自動計算された数値から一定値を加算・減算できます。ただし、どちらの場合でも、指揮官の生成ごとに乱数によるいくらかの増減があります。 聖魔法を持たせた場合はSacred能力をセットで ごく一部の例外を除き、聖魔法の所有者はSacredであるのが普通です(もちろん聖魔法なしでSacredだけという場合はあります)。確実に発生するわけではないようですが、この原則を破るとゲームのクラッシュを招くとの報告もあります。 これにより彼らは確実に神の祝福を受けられ、維持費も低下するため、総じて高コストに設定されます。また国によっては生贄の儀式やReanimateにより大きな影響力を持つため、そういった国ではさらに慎重な設定が必要です。 神の初期設定魔法スキルは控えめに 神の初期魔法スキルは、とくに高レベルの魔法スキルを確保しようとした際に非常に大きな影響力があります。これは魔法スキルの強化に必要とされるポイントの計算に起因します。 たとえば、初期スキルがレベル3の属性をレベル9(上位祝福発動)まで上げようとしたならば、レベル0から上げる場合と比べて最低でも194ポイントの節約となり、新魔法属性の追加コストが高い神だとさらに大きな差が出ます。 よって、その魔力を強みとする前提の設計でもない限り、無闇に初期設定の魔力を上げるのは避けるべきです。デフォルトでも、優秀な魔力に高い身体能力まで持つCyclopsやPrince of Deathは少々強すぎるとの意見もあるほどです。 ただしCBM環境下など、神の個性がより強められている環境であれば少し派手な調整でも問題ありません。もっとも、CBMであってもCyclopsやPrince of Deathはむしろ弱体化傾向に調整されています。 なお、神に聖魔法およびSacred属性を付加できるのはバグと見なされており、利用しているとゲームがクラッシュする可能性があるとの報告があります。神は祝福を受けられない仕様でもありますので、これらの設定は避けるべきでしょう。 画像作成の仕方 画像作成の仕方(別リンク)引用させていただいてます。 ttp //airest.blogspot.jp/2008/06/tga2.html ①通常通り、加工したい画像を開く ②GIMP本窓のFuzzy select toolを選択(魔法の杖の用なアイコン) ③透過させたい部分を杖アイコンで選択させる ④右クリ→編集→背景色で塗りつぶすを選択 ⑤うまく塗りつぶせたら加工したい画像の窓の レイヤー→透明部分→色を透明度に ⑥色を透明度にの窓の「最初□を透明度に」でhtml表記を000000(黒)でOKを押す (透過させたい部分が市松模様の様な透過表記になっていれば成功です。) ⑦加工した画像の窓からファイル→別名で保存→ ファイルタイプの選択→TarGA画像→保存→もう一度保存 画像加工が終わったら、dom3editor1.0.2等で調整 (一から作るのは大変なので他のmodを使いキャラ追加させてもらうのが楽です) 終わり。 画像の作り方?の問題で戦闘で死ぬとfsa bad tga fileのエラーでます。 作ってみたら実際一人ずつためしてみてください。ご迷惑おかけしてすみません。 コメント 画像の背景透過は完全な黒(RGBで0,0,0)であれば自動的にやってくれるものと思われます。逆に透過色の指定があると、影部分(RGB255,0,255)の処理をしてくれなくなるかもしれません。 -- 名無しさん (2012-06-17 20 08 08) 画像は256色→Fullcolorにする場合はGimpだとインデックスカラーになってるのでRGBにする必要有り。透明色関係はRGBだけなら黒、RGBAになるときちんと透明化処理が必要です。わずかでも不透明なら不透明になります。 -- 不思議戦争の人 (2012-08-06 14 29 18) 紹介されている画像の詰め合わせはRGBで適切な透過がされる状態になっています。他の公開済みMODも基本的にこれに準ずるようなので、何か事情がなければアルファチャンネル無しでの作製を推奨します。 -- 名無しさん (2012-08-06 15 47 51) Dominions 3 Mod Editorが更新されました(バージョン1.1) -- 名無しさん (2012-12-21 15 54 54) nextspellを使うとき、newspellをnext対象とするときは「next先を先に記述する」必要がある様子。エラーが出て諦めた方向け。 -- 名無しさん (2013-04-06 00 48 08) 名前 コメント
https://w.atwiki.jp/spaceflightsimulator/pages/120.html
※このページは現在編集中のため、情報が正確でない場合があります。 編集へのご協力お願いします。 MOD MODはPC版向けの内容であり、スマホ版には対応していません。 本ページの内容はPC向けに作成されています。 ・目次 MODとは? MODの注意点 MODはどこで手に入るの? MOD リスト MODの導入方法 MODが動作しない時は? MODとは? MODとは、「Modification(改造)」の略で、 プレイヤーがゲームのコードやリソースを変更して新しい機能を追加するものです。 主に、ゲームの仕様や機能の追加などのシステム面での拡張がメインになります。 ※MODは多くの場合公式サポートではないので自己責任! MODの注意点 ※MODはiOS/Androidで使える? 使えません! 現在のMODは全てSteam版(PC)のみで使用できます。 また、MODを利用するにはモッドローダーに対応したバーションが必要です。 今後、スマホ版で使用できる可能性は低いとされています。(フォーラムより) ※偽物に注意! 「Spaceflight Simulator MOD」について調べると、いくつかの情報が出てきます。 しかし、注意が必要なのは「MOD.apk」といった形式のAPKファイルです。 これらのファイルは偽物である可能性が高いため、利用には注意が必要です。 本物のSFS MODは、dllファイル形式で作成されます。 ※MODが利用可能なバージョン Steam版でModを利用する場合はV1.5.8.5以降のバージョンが必要です。 ※UI Toolsについて UI Toolsは多くのMODで前提MODとして使用されるMODです。 以前までは、各自でMODを導入する必要がありました。 現在は、標準で搭載されているため、各自での導入は不要になりました。 MODはどこで手に入るの? Spaceflight SimulatorのMODの多くは公式フォーラム内にあります。 また、フォーラム内には専用のMODフォーラムがあるため、利用することをお勧めします。 Spaceflight Simulator 公式フォーラム(※英語) MOD リスト MOD名 説明 作者 対応バージョン ANAIS ナビゲーションを進化させ、惑星間の移動を簡単にするMODです。ユーザーは「Navigate to」をクリックすることで、最適な軌道が自動計算され、移動経路が色分け表示されます。宇宙の旅を効率的にサポートする理想的なツールです。 Altaïr 1.5.10.2 AstroCompat 旧式の非公式ローダー向けのパックに現行のバージョンへ互換性を持たせます。パーツパックとテスクチャに対して互換性を持たせることができます。 N2O4 1.5.10.2 Build Settings CucumberのPart Editor MODに不足していた要素を補完し、ユーザーエクスペリエンスを向上させるために開発されました。具体的には、パーツのスナップや接続の切り替え、グリッドの移動範囲の調整、回転角度の調整などの機能を提供しています。さらに、隠されたスキンを再表示する機能も備えています。これらの機能を活用することで、ユーザーはより容易にクリエイティブなプロジェクトを進めることができます。 NeptuneSky 1.5.10.2 Closest approach line SFS旧バージョンから人気のある最接近アプローチラインを再導入するものです。ターゲットを選択すると、船がそのターゲットに最も近づく軌道上の位置を示す最接近ラインが表示されます。このラインを活用して、軌道を調整し、目的のオブジェクトとの接近を円滑にします。最接近ラインは水色で表示され、最接近が0に近づくと徐々に赤く変わり、衝突の危険性を警告してくれます。 Altaïr 1.5.10.2 Delta-V calculator - Altaïr 1.5.10.2 Forceful Fuel Tanks - pixelgaming579 1.5.10.2 FSI's Info Overload Mod - pixelgaming579 1.5.10.2 Gliding heat shields ヒートシールドにリフト機能を追加し、再突入時にカプセルの滑空とプレイヤーによる軌道制御を可能にします。 Altaïr 1.5.10.2 Image Cover Mod - AstarLC 1.5.10.2 Part Text Mod パーツのJSONデータを編集できる高度なパーツエディターです。 pixelgaming579 1.5.10.2 Smart SAS Mod pixelgaming579 1.5.10.2 Teleporter Mod 惑星のテレポートと座標を用いた高度な位置と角度、機体速度の変更MOD N2O4 1.5.10.2 Texturable スキン非対応のバニラパーツ(パラシュート、プローブ、ヒートシールドなど)にカスタムスキンを適用できるようにするもので、これらの部品にスキンを提供します。 NeptuneSky 1.5.10.2 UI Tools 多くのModが前提Modとして必要とするModです。このModを導入することで、他のModの更新を自動的に検知し、更新が利用可能である場合にはユーザーに提案してくれます。UI Toolsはソフトに標準搭載されています。 cucumber-spNeptuneSky 1.5.10.2 VanillaUpgrades NeptuneSky 1.5.10.2 Warpinator 惑星やロケットに高度なテレポート機能を提供します。惑星を選択すると、周回軌道または地表にテレポートするかをメニュー上で選択できます。これにより、宇宙探索が素早く効率的に行えます。さらに、セレクターメニューを使用することで、マップ内で惑星を探す手間を省略できます。バッククォート (`) キーを押すだけで、目的地を選択するメニューが開き、プレイヤーは簡単に宇宙を探索できます。このMODはカスタム惑星をサポートしています。 NeptuneSky 1.5.10.2 PartEditor Mod 全てのパーツのパラメーターを数値で自在にいじれるようになります。また、カスタムパーツにも対応しています。 Cucumber Space 1.5.10.2 Zoom Keys Spaceflight Simulatorにトラックパッドユーザーのためのバインド可能なズームキーを追加します。=キー/+キーでズームインおよびズームアウトし、0キーでズームスピードを変更できます。英語配列のキーと日本語配列のキーでは配列及び記号が異なります。 NeptuneSky 1.5.10.2 ※参考サイト:SFS公式フォーラム(最終更新:2024・2/2) MODの導入方法 ※MODは各自フォーラム等から入手してください。 !各Modは下記の場所に保存してください。 1. WINDOWSであれば "WINキー"+"Rキー"で「ファイル名を指定して実行」を起動します。 C \Program Files (x86)\Steam\steamapps\common\Spaceflight Simulator\Spaceflight Simulator Game\Mods 2. 上記のパスを張り付けて「参照」を押します。 3. フォルダ内にdllファイルを直接入れることで導入できます。(このフォルダに入れる) 導入後(起動前) !Modsフォルダには元々"Custom Assets"フォルダが入ってます。 (カスタムパーツやテクスチャ用のフォルダになります。) 導入後(起動後) ※一度ゲームを起動すると、Mod名にちなんだフォルダが作成されます。 MODが動作しない時は? Modが動作しない場合の原因はいくつかあります。 1. ゲーム内のModloaderに導入したModがあるか確認しましょう。 Modloaderはゲームメニューより確認できます。 2. Modが"Spaceflight Simulator Game\Mods"に正しく入っているか確認しましょう。 Modは必ずModフォルダに入れる必要があります。 3. ゲームが既に起動している間にModを導入した場合は再起動が必要です。 Modをオン・オフするときも、再起動が必要になります。 4. 導入したModは使用しているバージョンと互換性がありますか? ゲーム更新直後又は数日はModが最新バージョンに対応していないことが多いです。 各Modのフォーラムで確認しましょう。 ページトップへ
https://w.atwiki.jp/fallout_jp/pages/772.html
Fallout1のPatch,Mod情報 ※情報提供をお願いします。Mod関連情報はこのページに追加してください。 主なファイルはNo Mutants Allowedで入手できます 上段メニューから Downloads>Categories>Fallout 1 と進んでください もしくはこちらのWelcome to Fallout Databaseも探してみてください 下記PatchおよびModの導入順序 ※初期状態を英語版1.1と仮定 Fallout1(本体のインストール) Patch1.2Option:UpdateMod1.2.5 Patch1.3.5Option:Npc Mod3.5 HighResPatch 2.2b/3.06 日本語化 Fallout_JP.rar [2014版exe+110111版翻訳ファイル] ハイレゾパッチ日本語化exe用パッチャー (rarファイルとZipファイルを解凍する必要があります) (解凍したファイルを適時FalloutフォルダやDATAフォルダにコピーしてください) 【Patch】 1.日本語化と併用可能 Fallout Patch 非公式修正パッチ。 Fallout Patch 1.2 ENG TeamX (GOG版はすでに適用済み) Fallout v.1.2.1 universal patch (eng) TeamX (含まれるFallouTW.exeは1.2とhashが一致) Fallout Patch 1.3.5 ENG TeamX 使用前にまず英語版で起動して現在のバージョンを確認してください。 現在のバージョンはタイトル画面の右下に記載があります。 1.3.5を導入する場合は現在のバージョン表記が1.2である必要があります。 ※1.3.5ではexeの更新はありません。そのため、タイトル画面のバージョン表示は1.2のままとなります。ご注意を。 Fallout1 High Resolution Patch FalloutTW.exeを書き換えてゲームの解像度を変更可能にするパッチ。 Fallout1 High Resolution Patch 2.2b/3.0x 「ニューゲーム」や「ロード」でクラッシュする人は3.0xを当てましょう ☆ハイレゾパッチ日本語化exe用パッチャーできました☆ fo1jp_multires.zip [2010-12-29] Hi-Resパッチの中身をインストールフォルダにコピーしたら 本家のpatcher.exeの代わりに使用します。 ※「RESTART GAME」のチェックを入れて再起動すると英語版exeの自動実行が行われます。 解像度変更後の再起動は手動で行ってください。 ※現在の最新版であるFallout1 Hi-Res Patch v4.x.x には対応しておりません。日本語化と併用する場合は上記の2.2b、もしくは3.06パッチを使用してください。(3.06だと若干表示に不具合が出るという報告あり) 2.日本語化と併用不可 Fallout 1 High-Res patch 4.1.8 (現行) GOG版には同梱されているのでうっかり実行しないように注意 【Mod】 1.日本語化と併用可能 Fallout NPC Mod v3.5 English version ・Fallout NPC Mod fix(↑の犬肉の挙動修正) 仲間のアーマーの変更(グラフィックも変わる)、コンバットスタイルの指定が可能になる。 仲間もレベルアップする。また、Dogmeatに待機命令が出せるようになる。 パッチ1.3.5が必要。日本語化済。 Fallout Update Mod v1.2.5 english version リンク先の「Fallout Update Mod (eng)」 製品版でカットされていた27人(+α)のNPCを追加。 それに伴いクエストも3つ追加。AP弾の挙動を修正。 日本語化済。新規ゲーム推奨。 ※既存のセーブデータでも使用可能ですが、そのデータでまだ一度も訪れていないゾーンの追加NPCしか出現しないと思われます。 2.日本語化と併用不可? Fallout Restoration Mod v1.0b1 ある日数経過で各街に起こりうる変化を本来意図していたものに修正。 キャラバンの挙動修正、新たなNPC追加、その他多数の変更。 EXEに変更あり。 スクリプトファイルの更新で日本語化して機能するかどうかは未検証。 Fallout Fixt v0.08a 上記の非公式パッチ、High-Res、NPC Mod 等の多くのModを統合した大容量MOD。 Fix系をコアに、オプションをチェックボックス形式で導入できる。 FO1のデータを上書きせずにFalloutフォルダの中にFallout Fixtフォルダを作ってインストールされる。 Update MOD v1.2.5、Fallout Revisitedとは互換性がない。 統合済み一覧 (Fix) ・Officialパッチ1.1、1.2 ・非公式パッチ1.2、1.2.1、1.3.5 ・No Children Fix (GOGやSteamで削除された子供達を復帰させる) ・Cathedral Crash Fix (大聖堂、軍基地でのcrashを修正) ・Nimrod's Dialog Fixes (メッセージ改善) (Mod/拡張) ・Npc Mod3.5 ・High-Res patch 4.1.8 ・Fallout Restoration Mod v1.0b1 ・The Extended Flamer Attack Mod (火炎放射のアニメーション強化) ・Endgame Mod ・sfall1 v1.9b (ddraw.dll、ddraw.ini。ゲームの動作設定を色々カスタムできるらしい) ・などなど
https://w.atwiki.jp/mtgflavortext/pages/1356.html
エルドラージの飢餓は底なし。矢継ぎ早に食らい尽くす。 The Eldrazi hunger without limit and consume without pause. 戦乱のゼンディカー 【M TG Wiki】 名前
https://w.atwiki.jp/oblivionfaq/pages/33.html
Q:世界地図って無いの? A:あるよ Q:Cyrodiilの外を歩きたいんだけど・・ A:つ マップの外周の見えない壁をなくす Elsweyr Skyrim Solstheim と Vvardenfell Telvanni Hammerfell Colovian Q:オススメな装備MODありますか? A:このサイトが詳しいですよ。オサレメモ あとは、NPR氏のMOD、SPB氏のMOD、TONA氏のMOD、HENTAI氏のMOD、Apachii Goddess Store、Black Luster Weapons and Armor A:TESで服や鎧を検索するときオススメなキーワードはありませんか? Q:sex、dildo、clothes、dress、armor、suit、frock、outfit shop、store apachii、colourwheels、hentai A:アイマスやボーカロイドの仮面はどこで手に入るの? Q:マスクセット、DS Vocal Ai ※DS Vocal Ai は AAMetamorphoset を推奨とのこと A:PSPはどこで手に入るの? Q:qsqset A:AAMetamorphosetはどこで手に入るの? Q:AAMetamorphoset
https://w.atwiki.jp/mcheli/pages/319.html
ver0.10.7 ■機体追加 スカイラーク(小型UAV) 追加 F-4A 追加 Mi-24 ハインド 警察仕様 追加 Bell ペネトレーター 追加 ■機能追加 3人称視点距離変更機能をサーバ側で制限できるように変更 小型UAV用(RC Goblin, スカイラーク)の携帯UAV制御端末追加 コンフィグからダメージ倍率変更に対応(他のMODにも対応) ヘリMODの機体が受けるダメージの倍率 ヘリMODが与えるダメージの倍率 UAVを設置した地点でも補給できるように変更 マルチプレイで同じチームのプレイヤーからの攻撃を受けないように変更 サーチライト追加 スモークグレネードをディスペンサーから発射できるように変更 マウススクロールで武器を切り替える機能追加(コンフィグでON/OFF可能) ■不具合修正 他の機体に乗ったヘリコプターがブレードを折りたたんだまま飛行できてしまう不具合修正
https://w.atwiki.jp/gtasamod/pages/15.html
ただいまWeaponMOD募集中 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- うんこ (2009-08-24 16 22 59) ↑消えろ カス 帰れ -- ww (2009-08-26 13 14 38) 銃の音を変えるのってどこ? -- www (2009-11-09 18 47 37) サウンドMOD詳細よく見ろよ -- 名無しさん (2009-11-10 18 03 12) 一番下に書いてあるよ -- 名無しさん (2009-11-10 18 03 30) 武器音変わらない・・・。gtaのaudioフォルダではちゃんと変わってるのに・・・ -- へろ (2010-11-20 08 29 49) (ウッんーーーーーーーーーーーーー庫 -- ウンコ (2011-08-12 14 51 06) 死ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー -- WWWWWWWWW (2011-09-06 21 22 25) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- うんこ そっくりWWWWWWWWWWWWWWW -- 名無しさん (2011-10-06 20 44 39) ガキンチョどもはだまれヽ(`Д´)ノ -- 荒らししかいないのか? (2011-10-17 19 32 18) そうみたいですね。 -- 名無しさん (2012-05-24 20 51 02) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 18) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 23) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 28) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 33) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 38) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 18) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 23) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 28) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 33) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 38) 名前 -- 名無しさん (2012-05-29 21 03 48) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 18) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 23) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 28) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 33) 運子lllllllllllllllllllllllLLLLLLLLLLLLLLLLLLLL -- 名無しさん (2012-05-29 21 03 38) 運子 -- 名無しさん (2012-05-29 21 04 07) (ウッんーーーーーーーーーーーーー庫 -- ウンコ -- 名無しさん (2012-06-04 20 47 52) ↑消えろ カス 帰れ -- ww -- 名無しさん (2012-06-04 20 48 23) いつも通り平和ですねぇ。 -- ppp (2012-07-17 13 02 32) いつも通り平和ですねぇwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww笑 -- 名無しさん (2012-10-02 21 13 30) 名前 コメント
https://w.atwiki.jp/akasatanahama/pages/102.html
概要 MOBを追加する。 今回は、匠型のMOBを追加する。 ソースコード AluminiumMod.java +長いので囲みます package tutorial.aluminiummod; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EnumCreatureType; import net.minecraft.item.Item; import net.minecraft.world.biome.BiomeGenBase; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @Mod(modid = "AluminiumMod", name = "Aluminium Mod", version = "1.0.0") public class AluminiumMod { //追加するアイテムの宣言 public static Item aluminiumEgg; @EventHandler public void perInit(FMLPreInitializationEvent event) { //Itemのインスタンスを生成し、代入する aluminiumEgg = new ItemAluminiumEgg() //クリエイティブタブの登録 .setCreativeTab(CreativeTabs.tabMaterials) //システム名の登録 .setUnlocalizedName("aluminiumEgg") //テクスチャ名の登録 .setTextureName("aluminiummod aluminiumEgg"); //GameRegistryへの登録 GameRegistry.registerItem(aluminiumEgg, "aluminiumEgg"); } @EventHandler public void init(FMLInitializationEvent event) { //Entityを登録する EntityRegistry.registerModEntity(EntityAluminiumCreeper.class, "AluminiumCreeper", 0, this, 250, 1, false); //Entityの自然スポーンを登録する EntityRegistry.addSpawn(EntityAluminiumCreeper.class, 20, 1, 4, EnumCreatureType.creature, BiomeGenBase.plains); /*EntityのRenderを登録する *Client側でのみ登録するため、今回はif文で処理をする。*/ if(FMLCommonHandler.instance().getSide() == Side.CLIENT) { this.render(); } } @SideOnly(Side.CLIENT) public void render() { RenderingRegistry.registerEntityRenderingHandler(EntityAluminiumCreeper.class, new RenderAluminiumCreeper()); } } EntityAluminiumCreeper.java +長いので囲みます package tutorial.aluminiummod; import net.minecraft.block.material.Material; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIAttackOnCollide; import net.minecraft.entity.ai.EntityAIAvoidEntity; import net.minecraft.entity.ai.EntityAIHurtByTarget; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAINearestAttackableTarget; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.passive.EntityPig; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.stats.AchievementList; import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; import net.minecraft.world.World; public class EntityAluminiumCreeper extends EntityMob { public EntityAluminiumCreeper(World world) { super(world); /*EntiyのAIを登録する*/ this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPig.class, 1.0D, false)); this.tasks.addTask(2, new EntityAIAvoidEntity(this, EntityOcelot.class, 6.0F, 1.0D, 1.2D)); this.tasks.addTask(3, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); this.tasks.addTask(4, new EntityAIWander(this, 0.8D)); this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.tasks.addTask(6, new EntityAILookIdle(this)); this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPig.class, 1,false)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 1, true)); this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false)); } /**MOBの速度やHPを変更するメソッド*/ @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5D); this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(128D); this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(100D); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(1.5D); } /**MOBの属性を返すメソッド*/ @Override public EnumCreatureAttribute getCreatureAttribute() { return EnumCreatureAttribute.UNDEFINED; } /**MOBのドロップアイテムを返すメソッド*/ @Override public Item getDropItem() { return Item.getItemFromBlock(Blocks.wool) ; } /**MOBのドロップアイテムをドロップさせるメソッド*/ @Override protected void dropFewItems(boolean isCanDropRare, int fortuneLv){ Item item = this.getDropItem(); int amount = 1; if(isCanDropRare this.rand.nextBoolean()) { item = Item.getItemFromBlock(Blocks.stained_glass); } if(fortuneLv 0) { amount += fortuneLv; } int damage = this.rand.nextInt(16); for(int i = 0; i amount; i++) { this.entityDropItem(new ItemStack(item, amount, damage), 0.0F); } } /**Tickごとに呼ばれるメソッド*/ @Override public void onUpdate() { int x = (int) this.posX; int y = (int) this.posY; int z = (int) this.posZ; if(this.worldObj.getBlock(x, y - 1, z).getMaterial() == Material.iron) { this.worldObj.createExplosion(this, x, y, z, 3F, true); } super.onUpdate(); } /**MOB死亡時に呼ばれるメソッド*/ public void onDeath(DamageSource source) { super.onDeath(source); if(source.getSourceOfDamage() != null source.getSourceOfDamage() instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) source.getSourceOfDamage(); if(!this.worldObj.isRemote) { player.addChatMessage(new ChatComponentText("You slayed.")); player.triggerAchievement(AchievementList.mineWood); } } } /**ダメージを食らうか否かを判定するメソッド*/ @Override public boolean attackEntityFrom(DamageSource source, float damage) { if(source.isExplosion()) { return false; } else if(source.isFireDamage()) { return super.attackEntityFrom(source, damage * 2); } else { return super.attackEntityFrom(source, damage); } } } RenderAluminiumCreeper.java +長いので囲みます package tutorial.aluminiummod; import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; public class RenderAluminiumCreeper extends RenderLiving { public RenderAluminiumCreeper() { super(new ModelAluminiumCreeper() , 0.5F); } /**テクスチャを登録するメソッド*/ @Override protected ResourceLocation getEntityTexture(Entity entity) { return new ResourceLocation("aluminiummod textures/mobs/aluminium_creeper.png"); } } ModelAluminiumCreeper.java +長いので囲みます package tutorial.aluminiummod; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class ModelAluminiumCreeper extends ModelBase { public ModelRenderer head; public ModelRenderer head2; public ModelRenderer body; public ModelRenderer leg1; public ModelRenderer leg2; public ModelRenderer leg3; public ModelRenderer leg4; public ModelAluminiumCreeper() { this(0.0F); } /**Modelを登録するメソッド*/ public ModelAluminiumCreeper(float size) { byte b0 = 4; this.head = new ModelRenderer(this, 0, 0); this.head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, size); this.head.setRotationPoint(0.0F, (float)b0, 0.0F); this.head2 = new ModelRenderer(this, 32, 0); this.head2.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, size + 0.5F); this.head2.setRotationPoint(0.0F, (float)b0, 0.0F); this.body = new ModelRenderer(this, 16, 16); this.body.addBox(-4.0F, 0.0F, -2.0F, 8, 12, 4, size); this.body.setRotationPoint(0.0F, (float)b0, 0.0F); this.leg1 = new ModelRenderer(this, 0, 16); this.leg1.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, size); this.leg1.setRotationPoint(-2.0F, (float)(12 + b0), 4.0F); this.leg2 = new ModelRenderer(this, 0, 16); this.leg2.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, size); this.leg2.setRotationPoint(2.0F, (float)(12 + b0), 4.0F); this.leg3 = new ModelRenderer(this, 0, 16); this.leg3.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, size); this.leg3.setRotationPoint(-2.0F, (float)(12 + b0), -4.0F); this.leg4 = new ModelRenderer(this, 0, 16); this.leg4.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, size); this.leg4.setRotationPoint(2.0F, (float)(12 + b0), -4.0F); } /**Modelをレンダリングするメソッド*/ public void render(Entity entity, float f1, float f2, float f3, float yaw, float pitch, float size) { this.setRotationAngles(f1, f2, f3, yaw, pitch, size, entity); this.head.render(size); this.body.render(size); this.leg1.render(size); this.leg2.render(size); this.leg3.render(size); this.leg4.render(size); } /**頭、足、腕などの角度を設定するメソッド*/ public void setRotationAngles(float f1, float f2, float f3, float yaw, float pitch, float size, Entity entity) { this.head.rotateAngleY = yaw / (180F / (float)Math.PI); this.head.rotateAngleX = pitch / (180F / (float)Math.PI); this.leg1.rotateAngleX = MathHelper.cos(f1 * 0.6662F) * 1.4F * f2; this.leg2.rotateAngleX = MathHelper.cos(f1 * 0.6662F + (float)Math.PI) * 1.4F * f2; this.leg3.rotateAngleX = MathHelper.cos(f1 * 0.6662F + (float)Math.PI) * 1.4F * f2; this.leg4.rotateAngleX = MathHelper.cos(f1 * 0.6662F) * 1.4F * f2; } } ItemAluminiumEgg.java +長いので囲みます package tutorial.aluminiummod; import net.minecraft.block.Block; import net.minecraft.block.BlockLiquid; import net.minecraft.entity.Entity; import net.minecraft.entity.IEntityLivingData; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.Facing; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; /**このクラスは、net.minecraft.Item.ItemMonsterPlacerをもとに作成しています。*/ public class ItemAluminiumEgg extends Item { /**アイテムでブロックを右クリックしたのメソッド。ItemMonsterPlacer参照。*/ @Override public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int side, float posX, float posY, float posZ) { //サーバー側の場合は処理をスキップする if (world.isRemote) { return true; } else { Block block = world.getBlock(x, y, z); x += Facing.offsetsXForSide[side]; y += Facing.offsetsYForSide[side]; z += Facing.offsetsZForSide[side]; double height = 0.0D; if (side == 1 block.getRenderType() == 11) { height = 0.5D; } Entity entity = spawnEntity(world, (double)x + 0.5D, (double)y + height, (double)z + 0.5D); if (entity != null) { if (!player.capabilities.isCreativeMode) { --itemStack.stackSize; } } return true; } } /**アイテムを使ったときのメソッド。ItemMonsterPlacer参照。*/ @Override public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { //サーバー側の場合は処理をスキップする if (world.isRemote) { return itemStack; } else { MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, true); if (movingobjectposition == null) { return itemStack; } else { if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) { int x = movingobjectposition.blockX; int y = movingobjectposition.blockY; int z = movingobjectposition.blockZ; if (!world.canMineBlock(player, x, y, z)) { return itemStack; } if (!player.canPlayerEdit(x, y, z, movingobjectposition.sideHit, itemStack)) { return itemStack; } if (world.getBlock(x, y, z) instanceof BlockLiquid) { Entity entity = spawnEntity(world, (double)x, (double)y, (double)z); if (entity != null) { if (!player.capabilities.isCreativeMode) { --itemStack.stackSize; } } } } return itemStack; } } } /**Mobをスポーンさせるメソッド*/ public Entity spawnEntity(World world, double x, double y, double z) { EntityAluminiumCreeper entityliving = new EntityAluminiumCreeper(world); entityliving.setLocationAndAngles(x, y, z, MathHelper.wrapAngleTo180_float(world.rand.nextFloat() * 360.0F), 0.0F); entityliving.rotationYawHead = entityliving.rotationYaw; entityliving.renderYawOffset = entityliving.rotationYaw; entityliving.onSpawnWithEgg((IEntityLivingData)null); world.spawnEntityInWorld(entityliving); entityliving.playLivingSound(); return entityliving; } } 解説 AluminiumMod +長いので囲みます void registerModEntity(Class ? extends Entity entityClass, String entityName, int id, Object mod, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates) Mod用のMOBを追加するメソッド。 引数は、以下の通り。 引数 内容 entityClass 追加するEntityをClass型で渡す。 entityName 追加するEntityの名称。langファイルで、entity.[MODIDで登録した名称].[entityNameで登録した名称].name=[ローカル名]でローカル名を登録できる。 id 追加するEntityのID。同一MOD内で被るとエラーを吐く。 mod MODを渡す。thisで渡せばOK。 trackingRange MOBの更新範囲。 updateFrequency MOBの更新頻度。何tickごとにMOBを更新するかの値。基本的に2以下の値を渡す。 sendsVelocityUpdates MOBの更新時に加速度の情報を更新させるか否か。MOBや動物の場合は基本的にtrueを渡す。 void addSpawn(Class ? extends EntityLiving entityClass, int weightedProb, int min, int max, EnumCreatureType typeOfCreature, BiomeGenBase... biomes) Entityの自然スポーンを追加するメソッド。 引数は、以下の通り。 引数 内容 entityClass スポーンを追加させるEntityをClass型で渡す。 weightProb Entityのスポーンがどれくらいの頻度で抽選されるかの値。値が大きいほうがスポーンしやすい。 min Entityがスポーンする際の最低数。 max Entityがスポーンする際の最高数。 typeOfCreature Entityのスポーンタイプ。EnumCreatureType一覧-monster...敵性MOBの属性。夜にスポーンする。-creature...友好MOB(とオオカミ、ヤマネコ)の属性。昼にスポーンする。-ambient...コウモリの属性。-waterCreature...イカの属性。これのみ、スポーン場所が空気中でなく水中になる。 biomes Entityがスポーンするバイオーム。複数バイオームを渡す場合は、先にfinal定数でリストを作ってからそのリストをそのまま引数に渡した方がいい。 void registerEntityRenderingHandler(Class ? extends Entity entityClass, Render renderer) Entityのレンダーを追加するメソッド。 Client限定の処理であり、Serverで処理してしまうとクラッシュの原因になるため、必ずif文とSideOnlyアノテーションを付けたメソッドで処理をする。 もしくは、proxyで分化させる手もある。 第一引数には登録EntityをClass型で、第二引数は登録Renderをインスタンス型で渡す。 EntityAluminiumCreeper +長いので囲みます tasks.addTask(int p_75776_1_, EntityAIBase p_75776_2_) Entityに攻撃、移動AIを追加するメソッド。 ターゲットAIは後述のtargetTasks.addTaskを用いる。 第一引数はAIの順位(小さいほうが先に行動される。)、第二引数がAI。 主なAI EntityAISwimming(EntityLiving p_i1624_1_) 水を泳ぐAI。 第一引数にはthisを渡す。 EntityAIAttackOnCollide(EntityCreature p_i1635_1_, Class p_i1635_2_, double p_i1635_3_, boolean p_i1635_5_) 特定のEntityを襲うAI。 第一引数にはthis、第二引数には襲う対象のEntityをクラス型で、第三引数には自分の通常移動速度に対する倍率、第四引数には追い続けるか否かの判定を渡す。 第三引数が1より大きいと、通常の移動スピードより高速で襲ってくることになる。 EntityAIAvoidEntity(EntityCreature p_i1616_1_, Class p_i1616_2_, float p_i1616_3_, double p_i1616_4_, double p_i1616_6_) 特定のEntityから逃げるAI。 第一引数にはthis、第二引数には逃げる対象のEntityをクラス型で、第三引数には対象からどれだけ逃げるかの距離、第四引数には対象と十分離れたときの逃げる速度の倍率、第五引数には対象と近いときの逃げる速度の倍率を渡す。 第四引数 第五引数となれば、対象と近いときはより急いで逃げるようになる。 EntityAIWander(EntityCreature p_i1648_1_, double p_i1648_2_) うろうろするAI。 第一引数にはthis、第二引数には速度の倍率を渡す。 第二引数は、基本的に1より小さい値を渡す。 EntityAIWatchClosest(EntityLiving p_i1631_1_, Class p_i1631_2_, float p_i1631_3_) 特定のEntityを睨むAI。 第一引数にはthis、第二引数には睨む対象のEntityをクラス型で、第三引数は対象との距離を渡す。 第三引数が大きいと、対象が離れていても視認する。 EntityAILookIdle(EntityLiving p_i1647_1_) きょろきょろするAI。thisを渡す。 targetTasks.addTask(int p_75776_1_, EntityAIBase p_75776_2_) EntityにターゲットAIを追加するメソッド。 第一引数はAIの順位(小さいほうが先に行動される。)、第二引数がAI。 主なAI EntityAINearestAttackableTarget(EntityCreature p_i1663_1_, Class p_i1663_2_, int p_i1663_3_, boolean p_i1663_4_) 特定のEntityをターゲッティングするAI。 第一引数にはthis、第二引数には対象のEntityをクラス型で、第三引数には行動しない確率(0だと攻撃できる場所に入れば必ずターゲッティングされる)、第四引数にはブロックに囲まれていてもターゲッティングするか否かを渡す。 第四引数をtrueにすると、ゾンビのように対象がブロックに囲まれていても、視認できれば攻撃しようとする。 EntityAIHurtByTarget(EntityCreature p_i1660_1_, boolean p_i1660_2_) 攻撃したEntityに反撃するAI。 第一引数にはthis、第二引数には反撃する際周囲の同種のEntityに助けを求めるか否かを渡す。 第二引数をtrueにすると、第一引数のEntityを攻撃したEntityは、第一引数と同種の周囲のEntityにも狙われる。ゾンビやゾンビピッグマンのような行動をする。 EntityLivingBase.getEntityAttribute(IAttribute p_110148_1_).setBaseValue(double p_111128_1_) Entityに対してHPやスピード等の数値を追加するメソッド。 getEntityAttributeに追加する数値の種類、setBaseValueにその値を渡す。 引数一覧 すべてSharedMonsterAttributesのstatic定数である。 定数名 説明 既定値 movementSpeed 移動速度 0.7(ただし、バニラのMOBは基本的に0.25) followRange 追跡距離 32 knockbackResistance ノックバック耐性 0 maxHealth 体力 20 RenderAluminiumCreeper ResourceLocation(String p_i1293_1_) Entityなどでテクスチャを指定する際につかうコンストラクター。 "aluminiummod textures/mobs/aluminium_creeper.png"のように、ファイルと修飾子まで入れる必要がある。 また、テクスチャを実装する場合は、今回のものはモデルをクリーパーのものを流用したため、クリーパーのテクスチャをaluminiummod/mobs/に放り込んでaluminium_creeperと名前を付ければよい。 ItemAluminiumEgg spawnEntityInWorld(Entity p_72838_1_) Entityをワールドにスポーンさせるメソッド。 ただし、setLocationAndAnglesなどで先にスポーン位置を指定する必要がある。 Tips クリーパーに因んでEntityを光らせる方法と爆発を発生させる方法を説明する。 Entityを光らせる 以下のコードを追加する。 @SideOnly(Side.CLIENT) public int getBrightnessForRender(float p_70070_1_) { return 15728880; } public float getBrightness(float p_70013_1_) { return 50.0F; } getBrightnessForRenderが描画側、getBrightnessが計算側に明るさを渡す。数値はこれらが最大値である。 爆発を発生させる 爆発を発生させる方法は二種類ある。どちらもWorldクラスに属する。 createExplosion(Entity entity, double x, double y, double z, float power, boolean destroyBlocks) 引数は発生Entity(このEntityは爆発によるダメージ、処理から除外されることになる)、座標(double三つ)、威力(大体土ブロックでの爆発半径に等しい。威力15以上は何故か正方形状に削れてしまう上範囲がほぼ広がらないため別処理の実装が望ましい。匠CraftのEntityGiantCreeper参照。)、ブロックを破壊するか否か、となっている。 newExplosion(Entity entity, double x, double y, double z, float power, boolean destroyBlocks, boolean spreadFire) 最終引数以外上記と一緒。最終引数は炎を撒き散らすかどうか。ファイアボールのような処理にしか使わない。なお、上のcreateExplosionはこの関数にfalseを渡しているだけである。 また、この二つの関数はExplosion型を返すため、イベントの追加にある爆発のフック処理をこの爆発限定で行うことも出来る。 コメント この項目に関する質問などをどうぞ。 EntityAluminiumCreeperの解説のEntityLivingBase.getEntityAttributeの下にあるmaxHealth|体力|20|がミスってますよ - 名無しさん 2016-02-02 19 49 20 ご指摘ありがとうございます。修正いたしました。 - Tom Kate 2016-02-02 20 28 33 AluminiumModの解説の(Class ? extends Entity entityClass, String entityName, int id, Object mod, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates)のObject modをthisを使わないで処理しようと思ったら何を入れればいいですか? - west_village 2016-08-08 21 53 19 public static final AluminumMod instance = new AluminumMod();のように、インスタンスを作ってインスタンスを引数に渡してください。 - Tom Kate 2016-08-08 22 37 24 匠Craftの光匠やグロウストーン匠のように、光るMOBを作る方法はありますか?(実際は光っていないのかもしれないのか…?) - あるふぁ 2017-05-30 19 48 05 追記いたします。ご確認ください。 - Tom Kate 2017-06-01 19 39 57 たびたびすみません。プレイヤーなど既存のMOBを光らせる方法はありますか? - あるふぁ 2017-06-01 20 53 42 返信遅くなりまして申し訳ありません。こちらのチュートリアルにTipsとして追記しました。 - Tom Kate 2017-06-07 19 27 42 追記できておりません。Tom氏が多忙のようですので、もうしばらくお時間いただくことになりそうです。申し訳ありません。 - 赤砂蛇凪浜 2017-06-16 18 11 48 名前